python进制转换(二进制、十进制和十六进制)及注意事项 |
您所在的位置:网站首页 › python 实现进制转换 › python进制转换(二进制、十进制和十六进制)及注意事项 |
进制间的转换 编程用十进制,十进制转换为二进制、八进制、十六进制 In[135]:bin(23) Out[135]:'0b10111' In[136]:oct(23) Out[136]:'0o27' In[137]:hex(23) Out[137]:'0x17' 也可以直接反向获取十进制 In[146]:0b10111 Out[146]:23 In[147]:0o27 Out[147]:23 In[148]:0x17 Out[148]:23 也可以用int函数来转换 In[149]:int('0b10111',2) Out[149]:23 In[150]:int('0o27',8) Out[150]:23 In[151]:int('0x17',16) Out[151]:23 位运算 &按位与|按位或^按位异或~按位取反>按位右移用途:直接操作二进制,省内存,效率高 1) 各二进位全部左移n位,高位丢弃,低位补0 x 【注意事项】 a.左移1位相当于乘以2用途:快速计算一个数乘以2的n次方(8 b.左移可能会改变一个数的正负性 2)>>右移 各二进位全部右移n位,保持符号位不变 x>>nx的所有二进制位向右移动n位,移出的位删掉,移进的位补符号位右移不会改变一个数的符号 【注意事项】 右移1位相当于除以2x右移n位就相当于除以2的n次方用途:快速计算一个数除以2的n次方(8>>3等同于8/2^3) 3)&按位与 全1才1否则0:只有对应的两个二进位均为1时,结果位才为1,否则为0 用6和3这个例子。不要用9和13的例子 4)|按位或 有1就1只要对应的二个二进位有一个为1时,结果位就为1,否则为0 5)^按位异或 不同为1当对应的二进位相异(不相同)时,结果为1,否则为0 6)~取反 ~9=-10 【为什么9取反变成了-10的说明】: 9的原码==>00001001因为正数的原码=反码=补码,所以在真正存储的时候就是00001001 接下来进行对9的补码进行取反操作 进行取反==>11110110这就是对9进行了取反之后的补码 既然已经知道了补码,那么接下来只要转换为咱们人能识别的码型就可以,因此按照规则,把这个11110110这个补码转换为原码即可 符号位不变,其它位取反==>10001001 然后+1,得到原码=======>10001010这就是-10 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |